Shadow DOM
通常のDOMツリーの下に隠しDOMツリーを追加することで、要素の内部構造をカプセル化できる
例えば普通にCSSでpタグにstyleを定義してもShadow Root下のpタグは影響を受けない
document.querySelector()にも引っ掛からない
つまり、求めていた名前空間がグローバルじゃないCSSが使える
Element.attachShadow()で任意の要素にshadow rootをattachできる
あとは通常のDOMと同じようにDOM APIで操作できる
Declarative Shadow DOMによって、Element.attachShadow()を使わずともHTMLだけでShadow DOMを生成できるようになった
https://developer.mozilla.org/ja/docs/Web/Web_Components/Using_shadow_DOM